package com.base.task;

import com.base.task.entity.BatchFilter;

import java.util.List;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;

/**
 * @ Author     ：山水之间-wxs
 * @ Description：批次组件
 * @ Date       ：Created in 17:47 2021/4/16
 * @ Modified By：wxs
 * @ Version    ：1.0
 */
public interface IBatch<T> {

    int totalCount(BatchFilter param);

    List<T> getData(BatchFilter param);

    int handle(List<T> data);

    default ThreadPoolExecutor buildExecutor() {
        return null;
    }

}
